package com.union.vehicleassistant.util;

import com.union.vehicleassistant.common.Constant;

import java.math.BigDecimal;
import java.math.RoundingMode;

public class UnitManager {

    /**
     * 根据单位返回合适的压力值；默认保留2位小数
     *
     * @param psiValue 传入的压力值
     * @return 合适的压力值
     */
    public static String getSuitPressure(double psiValue, boolean showUnit) {
        String unit = SettingUtils.getInstance().getPressureUnit();
        return getDoublePressure(psiValue) + (showUnit ? unit : "");
    }


    /**
     * 根据单位返回合适的压力值；默认保留2位小数
     *
     * @param psiValue 传入的压力值
     * @return 合适的压力值
     */
    public static double getDoublePressure(double psiValue) {
        String unit = SettingUtils.getInstance().getPressureUnit();
        boolean useBar = unit.equalsIgnoreCase("bar");
        return new BigDecimal(psiValue * (useBar ? Constant.UNIT_RATIO : 1))
                .setScale(2, RoundingMode.HALF_EVEN)
                .doubleValue();
    }
}
